A data base management system is a software application whose function is to interface between a data base and any applications/processes requesting access to the data base. In general, a data base management system provides for the organization of, access to, and control of one or more data bases.
A data base is a collection of logically organized data items. A data base is organized into uniquely named entities called tables, each table having one or more records contained therein. Each record, in turn, is divided into a number of fields. The table may be referred to as a view. The rows of a view are related to the records of the table. The columns of a view are related to the fields of the records. These terms will be used interchangeably herein.
The present invention, while applicable to any data base environment, has been implemented in a distributed data processing system consisting of two or more data processing systems which are capable of functioning independently but which are so coupled as to send and receive messages to and from each other.
A local area network (LAN) is an example of a distributed data processing system. A typical LAN comprises a number of autonomous data processing "nodes", each comprising at least a processor and memory. Each node is capable of conducting data processing operations independently. In addition, each node is coupled to a network of other nodes.
A "process", as used herein, is a self-contained package of data and executable procedures which operate on that data, comparable to a "task" in other known systems. Within the present invention a process can be thought of as comparable to a set (module) of subroutines in terms of size, complexity, and the way it is used. The difference between processes and subroutines is that processes can be created and terminated dynamically and can execute concurrently with their creator and other sets (modules) of "subroutines".
Every process in the distributed data processing system of the present invention has a unique identifier connector by which it can be referenced. The connector is assigned by the system when the process is created. The connector is used by the system to physically locate the process, as well as address it directly.
Every process also has a non-unique, symbolic "name", which is a variable-length string of characters. In general, the name of a process is known system-wide.
The operating system described in the patents and patent applications of the Related Inventions section above provides for transparent inter-process communication across the LAN; and various services that allow any process to require asynchronous notification of various events.
In a distributed data base system, portions of the same data base are residing at different nodes of the system. For example, in a manufacturing environment, each machine on an assembly line can be equipped with independent processing which locally maintains a record of the parts processed. Each record from the various machines is used to form a single data base for the parts processed.
One problem in this type of distributed system is the naming and location of the individual portions of the data base. Since the portions are not always in contact with each other or a central management process, it is possible that redundant names may be generated. Therefore, there is a need in the industry to provide a data base management system that will resolve any name discrepancies and locate the resources.
Because of the distributed configuration of the data base, there is also a need in the industry for a system which can be continuously maintained. This will permit devices containing portions of the data base to be removed from or added to the system without disturbing the functioning of the data base.
In addition, there is a need in the industry that any changes in any of the portions of the data base be immediately registered with the data base management system so those changes become visible network wide for all the applications using the data base management system.